#include <iostream>
#include <array>
#include "../math/math.h"
#include <typeinfo>

int main()
{
    math::Matrix<double, 4, 4> A = {{5, 2, 0, 0},
                                 {2, 1, 0, 0},
                                 {0, 0, 8, 3},
                                 {0, 0, 5, 2}};
    math::Matrix<float, 4, 4> C = {
         {1, 0, 0, 0},
         {0, 1, 0, 0},
         {0, 0, 1, 0},
         {0, 0, 0, 1}};

    math::Vector<int,3> c={
        1,2,3
    };

    // math::Vector<int,3> d={
    //     3,4,4
    // };

    // auto e = c*d;   //e是表达式类型！！！！！
    // for(int i=0;i<3;i++){
    //     std::cout << e(i)<<std::endl;
    // }
    // // 计算 A * B（4x4 × 4x4 → 4x4）
    // auto E = translate(A,0.5,1.0,2.0);
    c.prinf();
    math::Vector<int,3> d =math::from_expr(-c);
    d.prinf();

    return 0;
}
